package com.aimaterials.resource.mapper;

import java.util.List;
import com.aimaterials.resource.domain.ResStereoscopic;
import org.apache.ibatis.annotations.Param;

/**
 * 立体教材Mapper接口
 * 
 * @author DaemonSu
 * @date 2020-11-10
 */
public interface ResStereoscopicMapper 
{
    /**
     * 查询立体教材
     * 
     * @param stereoscopicId 立体教材ID
     * @return 立体教材
     */
    public ResStereoscopic selectResStereoscopicById(Long stereoscopicId);

    /**
     * 查询立体教材列表
     * 
     * @param resStereoscopic 立体教材
     * @return 立体教材集合
     */
    public List<ResStereoscopic> selectResStereoscopicList(ResStereoscopic resStereoscopic);

    /**
     * 新增立体教材
     * 
     * @param resStereoscopic 立体教材
     * @return 结果
     */
    public int insertResStereoscopic(ResStereoscopic resStereoscopic);

    /**
     * 修改立体教材
     * 
     * @param resStereoscopic 立体教材
     * @return 结果
     */
    public int updateResStereoscopic(ResStereoscopic resStereoscopic);

    /**
     * 修改资源二维码
     *
     * @param resourceId 资源ID
     * @param sterId 教材ID
     * @param qrcode 二维码值
     * @return 结果
     */
    public int updateQRCode(@Param("resourceId")Long resourceId,@Param("sterId")Long sterId,@Param("qrcode")String qrcode);

    /**
     * 删除立体教材
     * 
     * @param stereoscopicId 立体教材ID
     * @return 结果
     */
    public int deleteResStereoscopicById(Long stereoscopicId);

    /**
     * 批量删除立体教材
     * 
     * @param stereoscopicIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteResStereoscopicByIds(Long[] stereoscopicIds);


    /**
     * 批量删除立体教材中的资源
     *
     * @param resourceIds 需要删除的立体教材中资源的ID
     * @param  sterId 教材ID
     * @return 结果
     */
    public int deleteResByIds(@Param("resourceIds")Long[] resourceIds, @Param("sterId")Long sterId);

    /**
     * 批量删除立体教材中的所有资源
     *
     * @param  sterId 教材ID
     * @return 结果
     */
    public int deleteAllResByIds( @Param("sterId")Long sterId);


    /**
     * 插入教材中的资源
     *
     * @param resourceIds 需要删除的立体教材中资源的ID
     * @param  sterId 教材ID
     * @return 结果
     */
    public int addResByIds(@Param("resourceIds")Long[] resourceIds,@Param("qrCodes")String[] qrCodes, @Param("sterId")Long sterId);



    /**
     * 学校定制教材
     *
     * @param bookIds 立体教材中资源的ID
     * @param  deptId 单位ID
     * @return 结果
     */
    public int addBookInDept(@Param("bookIds")Long[] bookIds, @Param("deptId")Long deptId);


    /**
     * 删除单位中的所有教材
     *
     * @param  deptId 单位ID
     * @return 结果
     */
    public int deleteBookInDept( @Param("deptId")Long deptId);

    /**
     * 删除单位中的特定教材
     * @param  bookIds 要删除的教材ID
     * @param  deptId 单位ID
     * @return 结果
     */
    public int deleteBookInDeptByID(@Param("bookIds")Long[] bookIds, @Param("deptId")Long deptId);
}
